草庐IT

php exec 和 shell_exec 不工作

全部标签

regex - 为什么正则表达式不能正常工作

我对名字进行了验证,当我运行“Start*”时,它不会通过代码,而当我通过“Start$”时,它将通过字符串。下面是程序:-packagemainimport("fmt""regexp")funcmain(){FirstName:="Star*"varvalidName=regexp.MustCompile("^[\\p{L}0-9-_&$.,’'\x60()!/]*$")if!validName.MatchString(FirstName){fmt.Println("--------------",FirstName)}else{fmt.Println(FirstName)}Firs

go - exec.Command 错误,没有输出到 stdout 或 stderr

我正在尝试使用ffprobe和exec.Command获取视频的持续时间,但我一直收到错误消息。但是,stdout和stderr都是空的,所以我不知道问题出在哪里。funcgetVideoLength(filenamestring)float64{cmd:=exec.Command("ffprobe","-i",filename,"-show_entries","format=duration","-v","quiet","-of","csv=\"p=0\"")fmt.Println("ffprobe","-i",filename,"-show_entries","format=dur

go - 补丁命令的 exec.command

我正在尝试使用以下命令修补文件patch-p0我的runCommand语法如下:funcrunCommand(cmdstring,args...string)error{ecmd:=exec.Command(cmd,args...)ecmd.Stdout=os.Stdoutecmd.Stderr=os.Stderrecmd.Stdin=os.Stdinerr:=ecmd.Run()returnerr}现在我传递我的补丁命令如下:cmd="patch"args:=[]string{"-p0","但我看到以下错误:补丁:****找不到文件“你能告诉我我在这里缺少什么吗?

去代码不工作

我正在尝试按照示例代码段在我的vscode编辑器上运行下面是我认为有问题的片段。Vscode确实指出了一些错误,但也许我错过了。app.gopackagemainimport{"database/sql""encoding/json""fmt""log""net/http""github.com/gorilla/mux"_"github.com/lib/pq"}typeAppstruct{Router*mux.RouterDB*sql.DB}//initandotherfunctionsheremodel.gopackagemaintypeproductstruct{IDint`jso

pointers - Go 中指向结构或数组值的指针如何工作?

考虑以下Go结构:typePersonstruct{NamestringAgeintCountrystring}我遇到过无数次以下用法:p:=&Person{"Adam",33,"Argentina"}但我看不出指向结构值有什么意义,我想知道它与以下内容有何不同:n:=&999//Error我的问题是:怎么可能指向一个值,即使它是一个结构或数组而不是像字符串或int这样的基本类型?奇怪的是,以下内容对我的理解没有帮助:fmt.Println(p,&p)//outputs:&{Adam33Argentina}0xc042084018为什么程序员要通过指针声明结构实例?这样做你能取得什么成

go - 对 golang 项目布局 repo 在实践中的工作方式感到困惑

本题引用热门project-layout.这只是一种布局代码的方式,但二进制文件的实际编译将在/cmd/app1//cmd/app2/所以如果我有一个网站,它仍然会被认为是一个cmd应用程序,它只会启动http监听器等。或者整个布局中是否有多个“入口”点,而不仅仅是在cmd文件夹中?您将如何使用此布局实际构建和运行您的应用程序?(或者其中之一,因为据我所知它支持多个)是不是这样:去构建cmd/app1/*.go? 最佳答案 你可以gobuild./cmd/app/例如我有这个模块├──cmd│  ├──cli│  │  └──mai

google-app-engine - goapp 测试不工作,得到错误 "GOPATH must be absolute"而它是绝对的

我正准备为我的谷歌云应用程序编写测试。我阅读了文档,似乎在本地运行测试的唯一方法是在测试包目录中运行命令goapptest。但是当我运行命令时,出现错误go:GOPATHentryisrelative;必须是绝对路径:"".我很确定我的GOPATH已绝对设置。以下是我运行命令goenv|时的结果grepGOPATH:GOPATH=":/home/mohammad/go:/home/mohammad/go/src/gitlab.com/gc-auth"当我运行echo$GOPATH时也得到相同的输出。感谢任何帮助。PS:我有ubuntu18.04,我的go版本是1.10.4gcloud版

bash - 在程序化 shell 命令执行中嵌入环境变量

我正处于尝试执行shell命令的情况,但它的参数被正确解释为环境变量。例如,当我在终端中输入以下内容时ls$GOPATHBash解释并扩展变量$GOPATH,并列出$GOPATH目录的内容。我正在尝试对Golang的程序化shell执行做类似的事情。我有以下代码。packagemainimport("bytes""fmt""log""os""os/exec")funcmain(){cmd:=exec.Command("echo","$TESTVAR")cmd.Env=append(os.Environ(),"TESTVAR=this_is_a_test",)varoutBuffbyte

go - 文件中的 ReadAll 未按预期工作

我正在尝试创建一个临时gzip文件并写入该文件。问题是我不了解ReadAll发生了什么。我希望ReadAll返回写入文件的字节......但是没有。然而File.Stat命令显示确实有数据。filename:="test"file,err:=ioutil.TempFile("",filename)iferr!=nil{fmt.Println(err)}deferfunc(){iferr:=os.Remove(file.Name());err!=nil{fmt.Println(err)}}()w:=gzip.NewWriter(file)_,err=w.Write([]byte("hel

shell - 如何为 go bin 提供命令

我使用以下代码创建命令,该命令应根据一些标志运行从cli传递。我使用cobra存储库https://github.com/spf13/cobra当我用gorunmain.goechotest运行它时我明白了打印:测试有效。现在我运行goinstall打开bin目录并单击文件newApp(这是我的应用程序名称)然后打印Usage:MZR[command]AvailableCommands:echoEchoanythingtothescreenhelpHelpaboutanycommandprintPrintanythingtothescreenFlags:-h,--helphelpfor